#ifndef DATETIME_HEADER_VIZMF_PROJECT
#define DATETIME_HEADER_VIZMF_PROJECT

#include <boost/date_time/posix_time/posix_time.hpp>
#include <string>

class DateTime
{
public:
  typedef boost::posix_time::ptime ptime;
  typedef std::string string;
  DateTime(const ptime& t = ptime()) : time(t) {}
  DateTime(const DateTime& other) : time(other.time) {}
  string toString(const string& format) const; // convert to string using specified format
  static DateTime currentDateTime()
  {
    return DateTime( ptime(boost::date_time::microsec_clock<ptime>::local_time()) );
  }
private:
  ptime time;
};

#endif // DATETIME_HEADER_VIZMF_PROJECT
